<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Ajax_excution extends CI_Controller {

    public function __construct() {
        parent::__construct();        
        $this->load->library('sevice/login_service');
        $this->login_service = new login_service();        
    }

    public function index() {
        
    }

    public function login() {
        if (IS_AJAX) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            
            $msg = array();
            $code = 1;
            $errMsg = "";
            
            if (empty($username)) {
                $code = -1;
                $msg[] = "Chưa nhập tài khoản";
            }
            if (empty($password)) {
                $code = -1;
                $msg[] = "Chưa nhập mật khẩu";
            }
            echo 'ddddddddd';exit;
            if (count($msg) == 0) {
                $result = $this->login_service->login($username, $password);
                $json = array('result' => $result['code'], 'message' => $result['msg']);

                if ($result['code'] == 1) {
                    $user_info = json_decode($result['msg']);
                    $_SESSION['user_info'] = $user_info;
                    $this->session->set_userdata('user_info', $user_info);
                }
            } else {
                foreach ($msg as $m) {
                    $errMsg .= $m . '<br>';
                }
                $json = array("result" => $code, "message" => $errMsg);
            }
            echo json_encode($json);
        }
    }

    public function register_bk() {
        if (IS_AJAX) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $repassword = $this->input->post('repassword');
            $email = $this->input->post('email');
            $captcha = $this->input->post('captcha');
            $utm_source = $this->session->userdata('utm_source');
            $securimage = new Securimage();

            $msg = array();
            $code = 1;
            $errMsg = "";

            if (!$username || strlen($username) > 20 || strlen($username) < 6) {
                $code = -1;
                $msg[] = "Tên đăng nhập phải từ 6-20 ký tự.";
            } elseif (!preg_match('/^[a-z0-9._]+$/', $username)) {
                $code = -1;
                $msg[] = "Tên đăng nhập chỉ cho phép các ký tự (a – z), số (0 – 9) và dấu chấm(.).";
            }
            if (!$password || strlen($password) < 6) {
                $code = -1;
                $msg[] = "Mật khẩu quá ngắn (trên 5 ký tự).";
            }
            if (!$repassword) {
                $code = -1;
                $msg[] = "Chưa nhập mật khẩu xác nhận";
            } elseif ($repassword != $password) {
                $code = -1;
                $msg[] = "Mật khẩu xác nhận không đúng";
            }

            if (preg_match("/^[0-9a-zA-Z]\w+(\.\w+)*\@\w+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,4}$/", $email) === 0) {
                $code = -1;
                $msg[] = "Email không hợp lệ hoặc chưa đúng định dạng.";
            }
            if (strlen($password) >= 6) {
                if ($password == $username)
                    $msg[] = "Mật khẩu không được trùng với Tài khoản.";
            }
            if (!$securimage->check($captcha) && $captcha !== false) {
                $code = -1;
                $msg[] = "Mã xác nhận không đúng.";
            }

            if (count($msg) == 0) {
                $result = $this->login_service->register($username, $password, $email, $utm_source);

                if (is_array($result)) {
                    $code = $result['code'];
                    $msg = $result['msg'];
                    $json = array("result" => $code, "message" => $msg);

                    if ($result['code'] == 1) {
                        $user_info = json_decode($result['msg']);
                        $_SESSION['user_info'] = $user_info;
                        $this->session->set_userdata('user_info', $user_info);
                        $this->session->unset_userdata("utm_source");
                    }
                } else
                    $json = $result;
            }
            else {
                foreach ($msg as $m) {
                    $errMsg .= $m . '<br>';
                }
                $json = array("result" => $code, "message" => $errMsg);
            }
            echo json_encode($json);
        }
    }

    public function register() {
        if (IS_AJAX) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $repassword = $this->input->post('repassword');
            $email = $this->input->post('email');
            $captcha = $this->input->post('captcha');
            $utm_source = $this->session->userdata('utm_source');
            $securimage = new Securimage();

            $msg = array();
            $code = 1;
            $errMsg = "";

            if (!$username || strlen($username) > 20 || strlen($username) < 6) {
                $code = -1;
                $msg[] = "Tên đăng nhập phải từ 6-20 ký tự.";
            } elseif (!preg_match('/^[a-z0-9._]+$/', $username)) {
                $code = -1;
                $msg[] = "Tên đăng nhập chỉ cho phép các ký tự (a – z), số (0 – 9) và dấu chấm(.).";
            }
            if (!$password || strlen($password) < 6) {
                $code = -1;
                $msg[] = "Mật khẩu quá ngắn (trên 5 ký tự).";
            }
            if (!$repassword) {
                $code = -1;
                $msg[] = "Chưa nhập mật khẩu xác nhận";
            } elseif ($repassword != $password) {
                $code = -1;
                $msg[] = "Mật khẩu xác nhận không đúng";
            }

            if (preg_match("/^[0-9a-zA-Z]\w+(\.\w+)*\@\w+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,4}$/", $email) === 0) {
                $code = -1;
                $msg[] = "Email không hợp lệ hoặc chưa đúng định dạng.";
            }
            if (strlen($password) >= 6) {
                if ($password == $username)
                    $msg[] = "Mật khẩu không được trùng với Tài khoản.";
            }
            if (!$securimage->check($captcha) && $captcha !== false) {
                $code = -1;
                $msg[] = "Mã xác nhận không đúng.";
            }

            if (count($msg) == 0) {
                $_isEuname = $this->login_service->check_username($username, "");
                if ($_isEuname == 1) {
                    $result = $this->login_service->login($username, $password);
                    $json = array('result' => $result['code'], 'message' => $result['msg']);

                    if ($result['code'] == 1) {
                        $user_info = json_decode($result['msg']);
                        $_SESSION['user_info'] = $user_info;
                        $this->session->set_userdata('user_info', $user_info); //print_r($this->session->userdata('user_info'));exit;
                        $msg = $this->_getNearServer();
                        $json = array("result"=>2,"message"=>$msg);
                    }
                } elseif ($_isEuname == -1) {
                    $result = $this->login_service->register($username, $password, $email, $utm_source);

                    if (is_array($result)) {
                        $code = $result['code'];
                        $msg = $result['msg'];
                        $json = array("result" => $code, "message" => $msg);

                        if ($result['code'] == 1) {
                            $user_info = json_decode($result['msg']);
                            $_SESSION['user_info'] = $user_info;
                            $this->session->set_userdata('user_info', $user_info);
                            $this->session->unset_userdata("utm_source");
                            
                            $json = array("result"=>2,"message"=>$this->_getNearServer());
                        }
                    } else
                        $json = $result;
                }
            }
            else {
                foreach ($msg as $m) {
                    $errMsg .= $m . '<br>';
                }
                $json = array("result" => $code, "message" => $errMsg);
            }
            echo json_encode($json);
        }
    }

    function captchaimage() {
        $src = base_url() . "library/captcha/securimage_show.php?t=" . time();
        echo $src;
    }

    public function donothing() {
        
    }

    public function logout() {
    	session_destroy();
    	redirect(base_url());
    }
    
    public function _getNearServer() {
        $this->load->helper('file');
        $this->load->helper('server');
        $server_list = @file_get_contents(urlListServer);
        $server_list = json_decode($server_list, true);
        $s = read_file('static/text/user/' . $_SESSION['user_info'][0]->username . '.txt');
        $near_server = array();
        foreach ($server_list as $k => $item) {
            if ($item['serverName'] == $s) {
                $near_server['link'] = $item['serverName'];
                break;
            }
        }

        if (!empty($near_server['link'])) {
            return $near_server['link'];
        } else {
            $list_server = get_list_server_play(urlListServer);
            $list_new_or_hot_server = get_hot_OR_news_server($list_server);

            return $list_new_or_hot_server[0]->identity;
        }
    }

}

/* End of file news.php */
/* Location: ./system/application/controllers/news.php */